<?php

/**
 * @author Dingo
 */
class Modul_Front_Aktualnosci_Lista extends Modul_Front_Abstract {

    protected $nazwaModulu = 'Front_Aktualnosci_Lista';
    private $limit = 3;

    public function inicjalizuj() {
        //jeżeli nie ma akcji wyświetlamy spis aktualności
        /* Akcje */
        if (isset($this->param['klucz'])) {
            //przenoszę jak ktoś wpisał aktualnosci
            if ($this->param['klucz'] == 'aktualnosci') {
                $this->zakoncz('/aktualnosci/');
            }
            //przenoszę jak ktoś wpisał tagi
            else if ($this->param['klucz'] == 'tagi') {
                $this->zakoncz('/aktualnosci/tagi/');
            }
            //wyświetlamy widok szczegółowy
            $this->szablon = array('tpl1' => '../Front/Aktualnosci/Szczegoly.tpl',
                'tpl2' => '../Front/Aktualnosci/PowiazaneAktualnosci.tpl');
            $this->szczegoly();
            $this->daneTPL['powiazane'] =
                    Helper_Aktualnosci::powiazaneAktualnosci($this->param['klucz'], 0);
        } else {
            //wyświetlamy widok wszystkich aktualności
            $this->szablon = array('tpl1' => '../Front/Aktualnosci/Lista.tpl',
                'tpl2' => '../Front/Aktualnosci/OstatnieAktualnosci.tpl');
            $this->wszystkie();
        }
    }

    private function szczegoly() {
        $wynik = Aktualnosci::FindByUrl($this->param['klucz']);
        if ($wynik !== false) {
            $wynik->uzytkownik = $wynik->find_parent('Uzytkownik')->imieinazwisko;
            $tagiSql = $wynik->find_attached('Tagi');
            $wynik->tytul = htmlspecialchars($wynik->tytul);
            /* Powiązane tagi */
            foreach ($tagiSql as $v) {
                $tagi[] = array('tag' => $v->tag, 'link' => "/aktualnosci/tagi/{$v->tag}.html");
            }
            $wynik->tagi = $tagi;
            $this->daneTPL['aktualnosci'] = $wynik;
            $this->strona = array('tytul' => 'Aktualności - ' . $wynik->tytul);
        } else {
            $this->strona = array('tytul' => 'Brak takiego artykułu');
        }
    }

    private function wszystkie() {
        /* Wybieramy tylko te aktualności, które są na wybranej stronie! */
        $strona = isset($this->param['strona']) ? $this->param['strona'] : '1';
        $limit = &$this->limit;
        $limit_pokaz_belka = 5;
        $ilosc = Aktualnosci::Count('Aktualnosci', 'status = 1');
        $belka = new Belka();
        $belka->pager_set2($ilosc, $strona, $limit, $limit_pokaz_belka);
        $wynik = Aktualnosci::FindAll('Aktualnosci', 'status = 1',
                        'datadodania DESC', $belka->per_page, $belka->start);
        foreach ($wynik as $v) {
            $v->uzytkownik = $v->find_parent('Uzytkownik')->imieinazwisko;
            $tagiSql = $v->find_attached('Tagi');
            $v->tytul = htmlspecialchars($v->tytul);
            /* Powiązane tagi */
            $tagi = array();
            foreach ($tagiSql as $v2) {
                $tagi[] = array('tag' => $v2->tag, 'link' => "/aktualnosci/tagi/{$v2->tag}.html");
            }
            $v->tagi = $tagi;
        }
        $this->daneTPL['aktualnosci'] = $wynik;
        $this->daneTPL['belka'] = $belka;
        $this->strona = array('tytul' => 'Aktualności - Strona ' . $strona);
    }

}

?>
